সি# এ throw
কীওয়ার্ড মূলত একটি এক্সেপশন তৈরি বা পুনরায় ছাড়ার জন্য ব্যবহৃত হয়। এটি বিশেষ করে এমন পরিস্থিতিতে সহায়ক যেখানে আপনি চান, নির্দিষ্ট শর্তপূরণ না হলে কোড একটি কাস্টম এক্সেপশন ছুঁড়ে দেবে বা কোনো নির্দিষ্ট ত্রুটি প্রদর্শন করবে। throw
কীওয়ার্ড প্রোগ্রামের এক্সেপশন হ্যান্ডলিং কাঠামোকে আরও কার্যকরী করে তোলে।
throw
কীওয়ার্ড ব্যবহার১. একটি নতুন এক্সেপশন তৈরি করা
যখন আপনি নির্দিষ্ট শর্তে কোডকে একটি কাস্টম ত্রুটি (Exception) ছুঁড়ে দিতে চান, তখন throw
কীওয়ার্ড ব্যবহার করতে পারেন।
public void ValidateAge(int age)
{
if (age < 18)
{
throw new ArgumentException("Age must be 18 or older.");
}
}
এখানে, ValidateAge
মেথডে যদি age
১৮-এর কম হয়, তাহলে throw
কীওয়ার্ড ArgumentException
ছুঁড়ে দেবে। এর ফলে প্রোগ্রাম এই ত্রুটিকে হ্যান্ডল করতে পারবে বা ব্যবহারকারীকে একটি নির্দিষ্ট বার্তা দেখাতে পারবে।
২. এক্সেপশন পুনরায় ছাড়ার জন্য (throw
কেবল)
কখনও কখনও catch
ব্লকে একটি এক্সেপশন ধরার পরেও সেটিকে পুনরায় ছাড়ার প্রয়োজন হতে পারে, যাতে উপরের স্তরের (higher level) কোড সেই এক্সেপশন হ্যান্ডল করতে পারে। এই ক্ষেত্রে শুধুমাত্র throw
ব্যবহার করা হয়।
try
{
int result = Divide(10, 0);
}
catch (DivideByZeroException ex)
{
Console.WriteLine("Handling in catch block: " + ex.Message);
throw; // এখানে পুনরায় এক্সেপশন ছাড়া হলো
}
public int Divide(int a, int b)
{
if (b == 0)
{
throw new DivideByZeroException("Cannot divide by zero.");
}
return a / b;
}
এখানে Divide
মেথড DivideByZeroException
ছাড়ছে যদি বিভাজক 0
হয়। catch
ব্লক সেটি প্রথমে হ্যান্ডল করে এবং তারপর throw
দিয়ে আবার ছুঁড়ে দেয়, যা উপরের লেভেল বা কলিং মেথডে হ্যান্ডল করতে পারে।
৩. কাস্টম এক্সেপশন তৈরি করা
কখনও কখনও সাধারণ এক্সেপশন যথেষ্ট নয় এবং আপনাকে একটি কাস্টম এক্সেপশন ক্লাস তৈরি করতে হতে পারে।
public class InvalidAgeException : Exception
{
public InvalidAgeException(string message) : base(message) { }
}
public void CheckAge(int age)
{
if (age < 18)
{
throw new InvalidAgeException("Custom Exception: Age must be 18 or older.");
}
}
এখানে একটি কাস্টম InvalidAgeException
তৈরি করা হয়েছে, যা কেবলমাত্র ১৮-এর কম বয়স হলে ছাড়া হবে।
throw new ExceptionType("Message");
throw;
throw
এর মাধ্যমে নির্দিষ্ট পরিস্থিতিতে ছাড়া।এইভাবে throw
কীওয়ার্ড ব্যবহার করে সি# এ এক্সেপশন হ্যান্ডলিং প্রক্রিয়াকে আরও কার্যকরী ও নিয়ন্ত্রণযোগ্য করা যায়।
আরও দেখুন...